This invention relates to an improved software-driven timer to be used in reliable network protocols.
Conventional network protocols need to be able to time various events. For example, in the IPX/SPX protocol, when a data packet is sent, a timer for the message is set to a timeout value. The IPX/SPX protocol is described in the publication "Inside Netware for Unix, Ver. 3.11" by Susan Purcell and Judy Wilson (Novell Research Report, (c) 1992), which is herein incorporated by reference. If the message is not received by its intended receiver before the timer times out, the message is re-sent. Some network systems have thousands of timers operating at once.
Conventional timers used in a network have the problem that, as more timers are added to the network, it takes longer to add and delete each timer. Thus, the time needed to add and delete conventional timers increases linearly as the number of timers in the system increases. What is needed is a timer mechanism that allows timers to be added to the system without significantly increasing the amount of time needed to add and delete timers.